package day15;

import java.io.BufferedReader;
import java.io.File;
import java.io.FileReader;
import java.io.FileWriter;

public class Test08 {
    // 软件最大使用次数
    private final static int MAX_COUNT = 10;
    // 检查软件使用次数
    private static void checkCount(){
        // 从配置软件中读取使用次数
        int count = 1;
        String filePath = "day15/setting.txt";
        File fileName = new File(filePath);
        // 如果配置文件存在，选择字符输入流读取
        if(fileName.exists()){
            try (BufferedReader bufferedReader =new BufferedReader(new FileReader(fileName))) {
                String line = bufferedReader.readLine();
                count = Integer.parseInt(line);
            } catch (Exception e) {
                // 打印错误信息
                e.printStackTrace();
            }
        }
        // 如果软件第一次启动，则不存在配置文件,需要创建
        else{
            try (FileWriter fileWriter = new FileWriter(fileName)) {
                fileWriter.write(Integer.toString(count));
            } catch (Exception e) {
                // 打印错误信息
                e.printStackTrace();
            }
        }
        // 展示使用次数
        showCount(count);
        // 如果大于10，就退出软件
        if(count >= MAX_COUNT){
            exit();
        }
        // 如果小于10，就记录软件使用次数
        else{
            writeCount(filePath,count + 1);
        }
    }
    // 记录软件使用次数
    private static void writeCount(String filePath,int count){
        // filePath 为记录软件使用次数的文件
        // count 为软件使用次数
        File fileName = new File(filePath);
        try (FileWriter fileWriter = new FileWriter(fileName);) {
            fileWriter.write(Integer.toString(count));
        } catch (Exception e) {
            // 打印错误信息
            e.printStackTrace();
        }
    }
    // 退出软件
    private static void exit(){
        System.exit(0);
    }
    // 显示剩余可用次数
    private static void showCount(int count){
        System.out.println("您已经试用了"+count+"次，剩余"
        +(MAX_COUNT - count)+"次使用机会");
    }
    public static void main(String[] args) {
        // 检查软件使用次数
        checkCount();
        
    }
}
